import axios from 'axios'

// 从浏览器中创建 XMLHttpRequests
// 从 node.js 创建 http 请求
// 支持 Promise API
// 拦截请求和响应
// 转换请求数据和响应数据
// 取消请求
// 自动转换 JSON 数据
// 客户端支持防御 XSRF



//- 接口基准地址：`http://ludir.cn:8888/api/private/v1/`
// - 服务端已开启 CORS 跨域支持
// - API V1 认证统一使用 Token 认证
// - 需要授权的 API ，必须在请求头中使用 `Authorization` 字段提供 `token` 令牌
// - 使用 HTTP Status Code 标识状态
// - 数据返回格式统一使用 JSON

// 设置全局的axios
let baseUrl = "http://ludir.cn:8888/api/private/v1";
axios.defaults.baseURL = baseUrl; //获取路径
// axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

//建立storge缓存
let AUTH_TOKEN = window.localStorage.getItem('myToken') || ''
    // 请求拦截

// 添加请求拦截器
axios.interceptors.request.use(function(config) {
    // 在发送请求之前做些什么

    // console.log(config);
    //https://www.liulongbin.top:8888/api/private/v1/kuaidi/1106975712662
    if (config.url.includes("1106975712662")) {
        config.baseURL = "https://www.liulongbin.top:8888/api/private/v1"
        config.headers['Authorization'] = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjowLCJpYXQiOjE2Mzg5MjYxNjAsImV4cCI6MTYzOTAxMjU2MH0.oElZOxjV_bW9sb53YLfa3L0uSF6OFw-e39XjrP6Fo0g"
    } else {
        config.baseURL = baseUrl;
        config.headers['Authorization'] = AUTH_TOKEN;
    }
    //都需要携带token 令牌


    return config;

}, function(error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(function(response) {
    // 对响应数据做点什么
    return response.data;
}, function(error) {
    // 对响应错误做点什么
    return Promise.reject(error);
});


// 封装统一api
// 登录请求
// export let getLogin=(params)=>{
//     return axios.post('login',params)
// }
export let GetLoginUrl = (content) => axios.post("login", content);
// 渲染页面是发送的请求
export let GetUserUrl = (params) => axios.get("users", { params });
// export let getUsers=(params)=>axios.get('users',{params})
// 改变状态时的请求
export let changeUserState = (params = {}) => axios.put(`users/${params.id}/state/${params.type}`);

// 添加用户的请求
export let getAddUsers = (params) => axios.post("users", params);
// 编辑用户
export let upDateUsers = (params) => axios.put(`users/${params.id}`, params)
    // 删除用户
export let delUsers = (params) => axios.delete(`users/${params}`)
    // 权限分配
export let DistUser = (params = {}) => axios.put(`users/${params.id}/role`, params);

// 数据渲染
export let RoleUser = () => axios.get("roles");

// 添加角色
export let RoleAddUser = (params) => axios.post("roles", params);

// 编辑角色
export let UpdateRole = (params = {}) => axios.put(`roles/${params.id}`, params);

// 删除角色
export let DeleteRole = (params) => axios.delete(`roles/${params}`);

// 权限列表数据渲染接口
export let JurisDictions = (type) => axios.get(`rights/${type}`)

// 左侧变数据渲染
export let getMenu = () => axios.get(`menus`);

// 树形数据接口

export let RoleList = (tree) => axios.get(`rights/${tree}`);
// 授权
export let granRoleRight = (params) => axios.post(`roles/${params.roleid}/rights`, params)
    // 小删除图标 删除指定的权限
export let delTagRoleright = (params) => axios.delete(`roles/${params.roleid}/rights/${params.rightid}`)
    // 商品分类数据渲染
export let GoodsUesr = (params) => axios.get(`categories`, { params });

// 商品分类，添加分类
export let Addcategories = (params) => axios.post(`categories`, params);
// 商品分类 查询分类
export let selectCate = (id) => axios.get(`categories/${id}`);
// 商品分类 编辑分类
export let updataCate = ({ cat_id, cat_name }) => axios.put(`categories/${cat_id}`, { cat_name });
// // 商品分类 删除分类
export let delataCate = (cat_id) => axios.delete(`categories/${cat_id}`);

// 分类参数管理
//  参数列表
export let ParamsLsit = (id, params) => axios.get(`categories/${id}/attributes`, { params })
    // 删除参数
export let deleteList = (id, attrid) => axios.delete(`categories/${id}/attributes/${attrid}`)
    // 参数修改
export let putUpdatalist = (params) => axios.put(`categories/${params.id}/attributes/${params.attrid}`, params)
    // 添加动态参数和静态属性
export let addParams = (params) => axios.post(`categories/${params.id}/attributes`, params);


// 商品管理
// 商品列表
export let GoodData = (params) => axios.get(`goods`, { params });




// 订单管理列表
export let Dataorders = (params) => axios.get(`orders`, { params });

//物流信息 
export let getPostMan = (params) => axios.get(`kuaidi/${params.id}`)





// 数据统计
export let getCharts = (params = {}) => axios.get(`reports/type/1`)